import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
//
//public class JBDCDemo {
//    public static void main(String[] args) throws SQLException {
//        // 接下来进行jdbc操作
//        //进行一个简单的插入操作
//
//        //----------------------------------------------------------------------------- 新添
//        Scanner scanner = new Scanner(System.in);
//        //----------------------------------------------------------------------------------
//
//        //(1) 创建数据源（DataSource)
//        DataSource dataSource = new MysqlDataSource();
//        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/plt_3_16_jdbc?characterEncoding=utf8&&useSSL=false");
//        ((MysqlDataSource)dataSource).setUser("root");          // 用户
//        ((MysqlDataSource)dataSource).setPassword("111111");    //密码
//
//        //(2) 与数据库服务器建立连接
//       Connection connection = dataSource.getConnection();
//
//        //(3)  构造一个能操控数据库的sql语句
//
//        //-----------------------------------------------------------------------------新添
//        System.out.println("请输入学号：");
//        int id = scanner.nextInt();
//        System.out.println("请输入用户名：");
//        String name = scanner.next();
//
//        //-----------------------------------------------------------------------------修改
//
//        //String sql = "insert into student values("+ id +",’"+ name +"‘)"; //字符串拼接
//
//        String sql = "insert into student values(?,?)";    //? ? 表示占两个位置
//
//
//        //-------------------------------------------------------------------------------
//        //    还需要构造一个语句对象
//        PreparedStatement preparedStatement = connection.prepareStatement(sql);
//
//        preparedStatement.setInt(1,id);       //第一个 ？表示id
//        preparedStatement.setString(2,name);  //第二个 ？表示name
//
//        //(4)  执行sql，把刚才解析好的语句发送给数据库服务器
//        //    返回值int，表示影响了几行
//
//        int n = preparedStatement.executeUpdate();
//        //    打印返回值
//        System.out.println("n = "+n);
//
//        //(5)  执行完毕，收尾工作，释放前面创建的各种资源
//        //    主要释放 语句对象 和 连接对象，DataSource不必释放
//        //    先创建的后释放
//        preparedStatement.close();
//        connection.close();
//
//    }
//}



public class JBDCDemo {
    public static void main(String[] args) throws SQLException {

        //(1) 创建数据源（DataSource)
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/plt_3_16_jdbc?characterEncoding=utf8&&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");          // 用户
        ((MysqlDataSource)dataSource).setPassword("111111");    //密码

        //(2) 与数据库服务器建立连接
        Connection connection = dataSource.getConnection();

        //(3)  构造一个能操控数据库的sql语句

        String sql = "select* from student";

        //    还需要构造一个语句对象
        PreparedStatement preparedStatement = connection.prepareStatement(sql);

        //(4)  执行sql，把刚才解析好的语句发送给数据库服务器
        //    返回值int，表示影响了几行

        ResultSet resultSet = preparedStatement.executeQuery();
        //    打印返回值
        while(resultSet.next()){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id = "+id+"name = "+name);
        }

        //(5)  执行完毕，收尾工作，释放前面创建的各种资源
        //    主要释放 语句对象 和 连接对象，DataSource不必释放
        //    先创建的后释放
        preparedStatement.close();
        connection.close();

    }
}
